Para evaluar el impacto de las observaciones asimiladas se van a comparar dos experimentos de asimilación:
Las siguientes figuras muestran la diferencia en la humedad absoluta y la temperatura entre los dos experimentos a lo largo de todo el periodo de asimilación. Se realizó una interpolación a niveles de presión y luego se calculó un promedio espacial para obtener un perfil vertical en cada tiempo.
La diferencia en la humedad absoluta es importante solo en niveles bajos por debajo de 850-900 hPa. Esto parece ser razonable ya que la mayoría de las observaciones asimiladas son de superficie. En general CONV+AUT tiene valores de humedad más altos cerca de superficie. Por el contrario, la diferencia en la temperatura es importante en todos los niveles. En niveles bajos la diferencia tiene una especie de ciclo diario que se suaviza cuando la convección empieza a desarrollarse en el dominio. También llama la atención el calentamiento en niveles medios/altos durante el 22 y un enfriamientos por arriba.
Será posible que la convección esté ayudando a propagar el efecto de las observaciones en superficie? Porque no se ve en la humedad?
Otra manera de analizar el impacto que generan las observaciones es calculando el “update” o sea la diferencia entre el análisis y el guess (que en este caso es un pronóstico a una hora).
Y acá aparecen cosas raras. PORQUE EL UPDATE DE EXP CONV ES CASI CERO!!! Entre las 18 de 20/11 y las ~04 del 21/11 hay una diferencia del orden de 1e-4, después de eso es CERO y ocurre tanto para la humedad com para la temperatura. 😭😭😭😭😭
Voy a investigar donde metí la pata esta vez.
Si observamos la distribución espacial de la humedad en distintos tiempos (promediando los niveles de presión entre 1000 y 900 hPa), vemos que en general el experimento CONV+AUT genera un entorno más húmedo hasta el sur de Córdoba y centro de Buenos Aires.
Será porque el viento del norte es más intenso en este experimento?
Pero si observamos el campo de la diferencia del viento en el nivel más bajo en la siguiente figura, en general, el viento del norte es menos intenso en CONV+AUT (se observa como viento del sur en la figura pero en realidad indica que la magnitud del viento en CONV+AUT es menor que en CONV). De hecho a las 06Z del 22/11 el viento en niveles bajos pierde intensidad en la región central del dominio.
En las tres variables analizadas se observa una zona al sur de Córdoba y Buenos Aires (donde podría estar ubicado el frente, habría que revisar esto) donde las diferencias entre los dos experimentos es muy importante. Si comparamos estas figuras con la imagen de IR del GOES-16, vemos que la linea donde se genera la convección se ubica donde las diferencias entre los análisis es mayor. Si bien solo con esto es imposible saber si el impacto de las observaciones de superficie fue positivo (o sea que acerca la simulación al estado real de la atmósfera), es interesante ver que el impacto se da justo donde ocurren los procesos que nos interesan.
Es posible que en los experimentos la convección se desarrolle en lugares ligeramente distintos o desfazados en el tiempo y eso genera las diferencias que se ven el gráfico. Sería interesante intentar ver donde hay convección en cada caso
map <- rnaturalearth::ne_states(country = c("argentina", "Brazil", "Chile", "Uruguay", "Paraguay", "Bolivia"), returnclass = "sf")
geom_mapa <- function() {
geom_sf(data = map, fill = NA, color = "black", size = 0.2, inherit.aes = FALSE)
}
dbz <- ReadNetCDF("analisis/dbz/maxdbz_ana_E3_20181122060000.nc", vars = c(dbz = "max_dbz", lon = "XLONG", lat = "XLAT")) %>%
.[, exp := "CONV+AUT"]
dbz_E4 <- ReadNetCDF("analisis/dbz/maxdbz_ana_E4_20181122060000.nc", vars = c(dbz = "max_dbz", lon = "XLONG", lat = "XLAT")) %>%
.[, exp := "CONV"]
pal <- wesanderson::wes_palette("Zissou1", 100, type = "continuous")
rbind(dbz, dbz_E4) %>%
.[dbz > 15] %>%
ggplot(aes(lon, lat)) +
geom_point(aes(color = dbz), size = 0.3) +
scale_color_gradientn(colors = pal) +
geom_mapa() +
coord_sf(xlim = range(dbz$lon), ylim = range(dbz$lat)) +
labs(title = "Reflectividad máxima mayor a 15 dbz",
subtitle = "2018-11-22 06:00:00") +
facet_wrap(~exp) +
theme_minimal()
Vamos a reconocer que hay un elefante en la sala y que algo en el sistema de asimilación no está funcionando como debería. Vamos a analizar las observaciones asimiladas por cada experimento.
| exp | usage.flag | ps | q | t | uv |
|---|---|---|---|---|---|
| E3 | -1 | 233955 | 62530 | 56857 | 201556 |
| E3 | 1 | 47004 | 4534 | 257680 | 120654 |
| E4 | -1 | 130 | 3586 | 27908 | 32386 |
| E4 | 1 | 6537 | 4581 | 12885 | 16134 |
De esta figura me preocupan varias cosas:
Respecto del segundo punto: Todas las observaciones tipo 181 de humedad son rechazadas. Resulta que me olvide de sacar el -1 en el archivo convinfo. Parece que hice lo mismo para uv (tipo 287).
## var stationID type dhr lat lon pressure usage.flag obs
## 1: q SCJO 187 -0.5 -40.60 286.95 1000 1 0.00933
## 2: q SCVD 187 -0.5 -39.61 286.94 1010 1 0.00924
## 3: q 85766 181 -0.5 -39.65 287.92 1010 -1 0.00949
## 4: q 85782 181 -0.5 -40.60 286.95 1010 -1 0.00932
## 5: q SCIE 187 -0.5 -36.77 286.95 1010 1 0.00864
## ---
## 75227: q SARI 187 -0.5 -25.73 305.53 976 1 0.01820
## 75228: q SBFI 187 -0.5 -25.60 305.52 977 1 0.01700
## 75229: q SGES 187 -0.5 -25.45 305.15 906 1 0.01730
## 75230: q SBPP 187 -0.5 -22.55 304.30 940 1 0.01570
## 75231: q SBCG 187 -0.5 -20.47 305.33 947 1 0.01550
## obs.guess obs2 obs.guess2 rerr exp date
## 1: 0.000350 0.01060 1e+10 0.00212 E3 2018-11-20 18:00:00
## 2: -0.000607 0.01120 1e+10 0.00224 E3 2018-11-20 18:00:00
## 3: 0.000954 0.00975 1e+10 0.00994 E3 2018-11-20 18:00:00
## 4: 0.000339 0.01060 1e+10 0.00242 E3 2018-11-20 18:00:00
## 5: 0.000195 0.00885 1e+10 0.00177 E3 2018-11-20 18:00:00
## ---
## 75227: 0.001790 0.01950 1e+10 0.00389 E4 2018-11-23 17:00:00
## 75228: 0.001690 0.02090 1e+10 0.00418 E4 2018-11-23 17:00:00
## 75229: 0.001900 0.01850 1e+10 0.01680 E4 2018-11-23 17:00:00
## 75230: 0.000247 0.02040 1e+10 0.00408 E4 2018-11-23 17:00:00
## 75231: 0.000869 0.02110 1e+10 0.00421 E4 2018-11-23 17:00:00